﻿﻿#define _CRT_SECURE_NO_WARNINGS 1

/*
map 有两个值，一个是key，一个是value
键值对
注意如果需要求先后顺序的，map需要自己去找，因为自身会排序
map[key]++ 加的是value
*/

//每日一题_01
//2024_11_17
//频繁元素
//https://ac.nowcoder.com/acm/problem/22229

//看见出现次数，下意识用哈希解决，但这题没有数组的范围，暂时放弃这种思路。
//#include<iostream>
//#include<vector>
//using namespace std;
//
//int main()
//{
//    int n = 0;
//    cin >> n;
//    vector<int> hash(n + 1);
//
//    for (int i = 1; i <= n; i++)
//    {
//        int tmp = 0;
//        cin >> tmp;
//        hash[tmp] += 1;
//    }
//    int max = 1;
//    for (int i = 2; i <= n; i++)
//    {
//        if (hash[i] > hash[max])
//        {
//            max = i;
//        }
//    }
//    cout << hash[max] << endl;
//    return 0;
//}

//#include<iostream>
//#include<vector>
//#include<map>
//using namespace std;
//
//int main()
//{
//    int n = 0;
//    cin >> n;
//    vector<int> num(20);
//    map<int, int> nums;//key,value
//
//    for (int i = 0; i < n; i++)
//    {
//        cin >> num[i];
//        nums[num[i]]++;
//    }
//
//    //找次数最多的
//    int count = 0;
//    int count_value = 0;
//
//    //这里因为map会自动排序，所以用迭代器访问的时候就会出错误，因此得用原数组的下标去访问
//    auto it = nums.begin();
//    while (it != nums.end())
//    {
//
//        if (count < (*it).second)
//        {
//            count_value = (*it).first;
//            count = (*it).second;
//        }
//        ++it;
//    }
//
//    cout << count_value << endl;
//
//    return 0;
//}

#include<iostream>
#include<vector>
#include<map>
using namespace std;

int main()
{
    int n = 0;
    cin >> n;
    vector<int> num(20);
    map<int, int> nums;//key,value

    for (int i = 0; i < n; i++)
    {
        cin >> num[i];
        nums[num[i]]++;
    }

    //找次数最多的
    int count = 0;
    int count_value = 0;

    for (int i = 0; i < n; i++)
    {
        if (nums[num[i]] > count)
        {
            count_value = num[i];
            count = nums[num[i]];
        }
    }

    cout << count_value << endl;

    return 0;
}

